package demo;

import java.util.Scanner;

/*
     if选择结构总结和注意事项:
          总结：
            1.  使用场景：
                   一种情况时： if单选
                   两种情况时： if双选
                   两种以上情况时： if多选

             2. if单选结构：
                  说明： if单选结构后面的{}可以省略,但是不建议
                        省略之后,默认将后面紧邻的第一行代码作为if单选结构内的代码

                局部代码块：
                     格式： {}
                     场景： 方法内
                     局部代码块中局部变量：
                            出生： 局部代码块中定义变量
                            死亡： 局部代码块}时
           3. if多选结构：
                组成：
                    头：   if(){}            0 , 1 个
                    身体： else if(){}       1, 2, 3... n个
                    尾：   else {}           0 , 1 个

            4. 一个if多选和多个if单选相比 ： 一个if多选的执行效率更高

            5. 一个需求中可以使用多种写法,建议不使用if嵌套, 建议： 将需求中的每一种情况列出来，然后使用if多选

            代码原则： 编译开发和维护 , 便于阅读
 */
public class IfDemo3 {
    public static void main(String[] args) {
        // 1. 定义三个整数：a ,b , c
        int a = 100 , b = 56 , c = 30;

        // 使用判断输出最大值   不推荐
       /* if(a > b ){ // 处理 a > b 的情况

            // 再来比较a 和 c 的大小
            if(a > c){ // 处理 a > c 的情况
                System.out.println(a);
            }
            else{ // 处理 a <= c 的情况
                System.out.println(c);
            }

        }
        else{// 处理 a <= b 的情况

            // 再来比较b 和 c 的大小
            if(b > c){ // 处理 b > c 的情况
                System.out.println(b);
            }
            else{ // 处理 b <= c 的情况
                System.out.println(c);
            }

        }*/
        /*
             情况1 ： a > b  && a > c
             情况2 ： b > a  && b > c
             情况3 ： c > a && c > b
         */
        if( a > b  && a > c){
            System.out.println(a);
        }
        else if(b > a  && b > c){
            System.out.println(b);
        }
        else if(c > a && c > b){
            System.out.println(c);
        }



    }

    public static void main5(String[] args) {
        // 1. 键盘录入一个星期数：weekNum
        System.out.println("请输入一个星期数：");
        int weekNum = new Scanner(System.in).nextInt();
        if(weekNum < 1 || weekNum > 7){
            System.err.println("您输入的数据有误！");
            return;
        }
        // 2. 使用if多选结构判断
        if (weekNum == 1) {
            System.out.println("星期一");
        } else if (weekNum == 2) {
            System.out.println("星期二");
        } else if (weekNum == 3) {
            System.out.println("星期三");
        } else if (weekNum == 4) {
            System.out.println("星期四");
        } else if (weekNum == 5) {
            System.out.println("星期五");
        } else if (weekNum == 6) {
            System.out.println("星期六");
        } else {
            System.out.println("星期天");
        }

    }
    public static void main4(String[] args) {
        boolean flag = false;
        if(flag = false){ // 1. flag = false   2. if(flag)
            System.out.println("if代码执行");
        }
        System.out.println("over");
    }
    public static void main3(String[] args) {

        {
            // 代码块的局部变量
            int num = 10; // num出生
            System.out.println("num = " + num); // 10
            num++;
            System.out.println("num = " + num); // 11
        } // num死亡

        int num = 11;
        System.out.println("num = " + num); // 11
    }

    public static void main2(String[] args) {
        int age = 17;

        if(age >= 18) {
            System.out.println("成年");
        }
        System.out.println("over");

    }
    public static void main1(String[] args) {
        int age = 17;

        // if单选
        if(age >= 18);

        // 局部代码块
        {
            System.out.println("成年");
        }
        System.out.println("over");
    }
}
